package org.go.domain;

import java.text.SimpleDateFormat;

/**
 * 
 * @author hejie
 *
 */
public interface GoDomain {
	public static final String AUTO_GENERATE_INSTANCE_ID = "AUTO";
	public static final String CREATE_REGISTRY_ALWAYS = "always";
	public static final String CREATE_REGISTRY_AS_NEEDED = "as_needed";
	public static final String CREATE_REGISTRY_NEVER = "never";
	public static final SimpleDateFormat dateFormat = new SimpleDateFormat(GoDomain.XSD_DATE_FORMAT);
	public static long DEFAULT_IDLE_WAIT_TIME = 30L * 1000L;
	public static final String DEFAULT_INSTANCE_ID = "NON_CLUSTERED";
	public static final String DEFAULT_RECOVERY_GROUP = "RECOVERING_JOBS";
	public static final String FAILED_JOB_ORIGINAL_TRIGGER_FIRETIME_IN_MILLISECONDS = "QRTZ_FAILED_JOB_ORIG_TRIGGER_FIRETIME_IN_MILLISECONDS_AS_STRING";
	public static final String FAILED_JOB_ORIGINAL_TRIGGER_GROUP = "QRTZ_FAILED_JOB_ORIG_TRIGGER_GROUP";
	public static final String FAILED_JOB_ORIGINAL_TRIGGER_NAME = "QRTZ_FAILED_JOB_ORIG_TRIGGER_NAME";
	public static final String FILE_NAME_DELIMITERS = ",";
	public static final String FILE_NAMES = "go_data.xml";
	public static final String GO_CONFIG_FILE = "go.xml";
	public static final String[] GO_CONFIG_PATH = { "/go.xml", "org/go/go.xml", "org/go/config/go.xml" };
	public static final String GO_XSD_PATH_IN_JAR = "org/go/config/go_1_0.xsd";
	public static final String JOB_INITIALIZATION_PLUGIN_NAME = "JobSchedulingDataLoaderPlugin";
	public static final int MAX_JOB_TRIGGER_NAME_LEN = 80;
	public static final int MISFIRE_INSTRUCTION_DO_NOTHING = 2;
	public static final int MISFIRE_INSTRUCTION_FIRE_NOW = 1;
	public static final int MISFIRE_INSTRUCTION_FIRE_ONCE_NOW = 1;
	public static final int MISFIRE_INSTRUCTION_SMART_POLICY = 0;
	public static final String PROP_CONNECTION_PROVIDER_CLASS = "connectionProvider.class";
	public static final String PROP_DATASOURCE_DRIVER = "driver";
	public static final String PROP_DATASOURCE_JNDI_ALWAYS_LOOKUP = "jndiAlwaysLookup";
	public static final String PROP_DATASOURCE_JNDI_CREDENTIALS = "java.naming.security.credentials";
	public static final String PROP_DATASOURCE_JNDI_INITIAL = "java.naming.factory.initial";
	public static final String PROP_DATASOURCE_JNDI_PRINCIPAL = "java.naming.security.principal";
	public static final String PROP_DATASOURCE_JNDI_PROVDER = "java.naming.provider.url";
	public static final String PROP_DATASOURCE_JNDI_URL = "jndiURL";
	public static final String PROP_DATASOURCE_MAX_CONNECTIONS = "maxConnections";
	public static final String PROP_DATASOURCE_PASSWORD = "password";
	public static final String PROP_DATASOURCE_PREFIX = "org.go.dataSource";
	public static final String PROP_DATASOURCE_URL = "URL";
	public static final String PROP_DATASOURCE_USER = "user";
	public static final String PROP_DATASOURCE_VALIDATION_QUERY = "validationQuery";
	public static final String PROP_JOB_LISTENER_PREFIX = "org.go.jobListener";
	public static final String PROP_JOB_STORE_CLASS = "org.go.jobStore.class";
	public static final String PROP_JOB_STORE_LOCK_HANDLER_CLASS = "org.go.jobStore.class";
	public static final String PROP_JOB_STORE_LOCK_HANDLER_PREFIX = "org.go.jobStore.lockHandler";
	public static final String PROP_JOB_STORE_PREFIX = "org.go.jobStore";
	public static final String PROP_JOB_STORE_USE_PROP = "org.go.jobStore.useProperties";
	public static final String PROP_LISTENER_CLASS = "class";
	public static final String PROP_PLUGIN_CLASS = "class";
	public static final String PROP_PLUGIN_PREFIX = "org.go.plugin";
	public static final String PROP_SCHED_BATCH_TIME_WINDOW = "org.go.scheduler.batchTriggerAcquisitionFireAheadTimeWindow";
	public static final String PROP_SCHED_CLASS_LOAD_HELPER_CLASS = "org.go.scheduler.classLoadHelper.class";
	public static final String PROP_SCHED_CONTEXT_PREFIX = "org.go.context.key";
	public static final String PROP_SCHED_DB_FAILURE_RETRY_INTERVAL = "org.go.scheduler.dbFailureRetryInterval";
	public static final String PROP_SCHED_IDLE_WAIT_TIME = "org.go.scheduler.idleWaitTime";
	public static final String PROP_SCHED_INSTANCE_ID = "org.go.scheduler.instanceId";
	public static final String PROP_SCHED_INSTANCE_ID_GENERATOR_CLASS = "org.go.scheduler.interruptJobsOnShutdownWithWait.class";
	public static final String PROP_SCHED_INSTANCE_ID_GENERATOR_PREFIX = "org.go.scheduler.instanceIdGenerator";
	public static final String PROP_SCHED_INSTANCE_NAME = "org.go.scheduler.instanceName";
	public static final String PROP_SCHED_INTERRUPT_JOBS_ON_SHUTDOWN = "org.go.scheduler.interruptJobsOnShutdown";
	public static final String PROP_SCHED_INTERRUPT_JOBS_ON_SHUTDOWN_WITH_WAIT = "org.go.scheduler.interruptJobsOnShutdownWithWait";
	//org.go.scheduler.jmx.export
	public static final String PROP_SCHED_JMX_EXPORT = "export";
	//org.go.scheduler.jmx.
	public static final String PROP_SCHED_JMX_OBJECT_NAME = "objectname";
	public static final String PROP_SCHED_JMX_PROXY = "org.go.scheduler.jmx.proxy";
	//org.go.scheduler.jmx.proxy.class
	public static final String PROP_SCHED_JMX_PROXY_CLASS = "proxyclass";
	public static final String PROP_SCHED_JOB_FACTORY_CLASS = "org.go.scheduler.jobFactory.class";
	public static final String PROP_SCHED_JOB_FACTORY_PREFIX = "org.go.scheduler.jobFactory";
	public static final String PROP_SCHED_MAKE_SCHEDULER_THREAD_DAEMON = "org.go.scheduler.makeSchedulerThreadDaemon";
	public static final String PROP_SCHED_MAX_BATCH_SIZE = "org.go.scheduler.batchTriggerAcquisitionMaxCount";
	public static final String PROP_SCHED_NAME = "schedName";
	public static final String PROP_SCHED_RMI_BIND_NAME = "org.go.scheduler.rmi.bindName";
	public static final String PROP_SCHED_RMI_CREATE_REGISTRY = "org.go.scheduler.rmi.createRegistry";
	public static final String PROP_SCHED_RMI_EXPORT = "org.go.scheduler.rmi.export";
	public static final String PROP_SCHED_RMI_HOST = "org.go.scheduler.rmi.registryHost";
	public static final String PROP_SCHED_RMI_PORT = "org.go.scheduler.rmi.registryPort";
	public static final String PROP_SCHED_RMI_PROXY = "org.go.scheduler.rmi.proxy";
	public static final String PROP_SCHED_RMI_SERVER_PORT = "org.go.scheduler.rmi.serverPort";
	public static final String PROP_SCHED_SCHEDULER_THREADS_INHERIT_CONTEXT_CLASS_LOADER_OF_INITIALIZING_THREAD = "org.go.scheduler.threadsInheritContextClassLoaderOfInitializer";
	public static final String PROP_SCHED_SKIP_UPDATE_CHECK = "org.go.scheduler.skipUpdateCheck";
	public static final String PROP_SCHED_THREAD_NAME = "org.go.scheduler.threadName";
	public static final String PROP_SCHED_USER_TX_URL = "org.go.scheduler.userTransactionURL";
	public static final String PROP_SCHED_WRAP_JOB_IN_USER_TX = "org.go.scheduler.wrapJobExecutionInUserTransaction";
	public static final String PROP_TABLE_PREFIX = "tablePrefix";
	public static final String PROP_THREAD_POOL_CLASS = "org.go.threadPool.class";
	public static final String PROP_THREAD_POOL_PREFIX = "org.go.threadPool";
	public static final String PROP_TRIGGER_LISTENER_PREFIX = "org.go.triggerListener";
	public static final String PROPERTIES_FILE = "org.go.properties";
	public static final String QUARTZ_FACTORY_KEY = "org.quartz.impl.StdSchedulerFactory.KEY";
	public static final String QUARTZ_NS = "http://www.quartz-scheduler.org/xml/JobSchedulingData";
	public static final String QUARTZ_SCHEMA_WEB_URL = "http://www.quartz-scheduler.org/xml/job_scheduling_data_2_0.xsd";
	public static final String QUARTZ_SYSTEM_ID_JAR_PREFIX = "jar:";
	public static final String QUARTZ_XML_DEFAULT_FILE_NAME = "go_data.xml";
	public static final String QUARTZ_XSD_PATH_IN_JAR = "org/go/xml/job_scheduling_data_2_0.xsd";
	public static final int REPEAT_INDEFINITELY = -1;
	public static final String SYSTEM_PROPERTY_AS_INSTANCE_ID = "SYS_PROP";
	public static final String XSD_DATE_FORMAT = "yyyy-MM-dd'T'hh:mm:ss";
	public static final int YEAR_TO_GIVEUP_SCHEDULING_AT = java.util.Calendar.getInstance().get(java.util.Calendar.YEAR) + 100;
	public static String STS_PAUSE = "pause";
	public static String STS_RESUME = "resume";
	public static String PATH_Server = "server";
	public static String PATH_TaskItem = "taskItem";
}
